base class for functional testing