refactor TestBuilder to OOP