cache the inverse