added a unit test framework and some (skeleton) tests