testing framework in progress