Add some tests, ditch uml