Add tests and stuff