First stab at a different style of parsing, not what I had intended, we'll see how we go