adding back JSON serialization