json save and load functionality (in progress)