documentation and better inverse