initial code commit. fully functional but a bit disorganized. see TestRun class for usage example.