constructing testing framework