change implementation command pattern