added division and inversion