better object handling and data separation. WIP!