finish part 2, the parser