second draft of defineOperation