refactor to use template; change config format to be more generalized; allow multiple json settings as inputs and multiple target files as outputs