Add tests and make basics work