Restructured most of the package