builder task refactored