huge update and reorganization of parts