add functional for opposite method