added external field, json apis