integration refactoring

fixed