updated to add some testing utilities