throwing if unknown operation