added a base testing infrastructure