seperated out the public parser interface
fixed merge conflict