package layout refactor