moved operation to command handler