massive refactoring, adjusting package naming, minor changes in layout