prepare (naming refactorings) for make it invertible