reworked data structure, saving/deleting/updating seems to be working well