Refactoring source code (renaming i -> inverse for better reading) and improved the documentation