refactored 5 changes