Refactored structure and packages