added testing framework
basic test coverage