added operation matching