cleanup
comments
cleanup
comments
add initial marshaling for JSON