updates with refactoring

updates with refactoring