working json - still needs persistence