inverse composition written. works very fast