explain method invertible_for [ci skip]