Unit tests working, ready for review and pull request