first draft of unit testing framework