moved parser from being global (why did I do that?)