add basic test framework. sort of works.