updated binoperations