add info interface
add json support