strategy pattern- payment