framework for testing other programs
