support json format config file, and various other things