More heavy refactoring