Add tests and construct initial classes