Refactor, packages, clean and nice