refactoring

refactoring changes