initial check in
finished up some unit tests
merge origin