use json for localStorage