add strategy implementation