final integration post refactoring