reworking object persistence