better
moved parser to a class