cleaned up parser module