best practices refactoring + moving sources