better handling of similar operations