added function parse()