clean
added unit test
cleaning up