tests passing... but had to modify the api of testable
fixed up the api for Testable at the expense of the test features being a little different