Adding tests
Testing and fixing as we go