parser almost done (better now!) + spec