Initial unit tests
implimentation of basic unit tests
complete