added operation procedure