loads of optionals and other changes to try and get this acting like it should.
transitioning token to optional
hopefully working
parsing is coming around. possible ready to start braking things down.