add json configuration support