rearange comments
add JSONValue interface