Review

Lots of stuff to look through here, sorry for the late commit - needed to get test coverage up (and we're very early in the project)