callfunc now returns json