Refactored a lot of code. Need to fix default case for Parser