Complex - refactoring