design of parser to fix the issues with having no back tracking. still needs testing. also removed shitty comments. what was i thinking?