added basic testing framework