parse() implementation