extraced a abstract base class for standalone test