added some testing framework