refactored / split parser
split parser