switched to gson for simplicity