rename strategy pattern