many simplifications