implement locker objects + rework data saving