Move parser to its own file