added initial functional testing harness