refactoring of names and visibility