More work on the parser, still not fully working.