refactoring test interface