Add tests and inital code