add json interface