Reworked to new structure and packages