refactoring packages etc