Making parser its own submodule in order to clean it up and hopefully make it more useful