core creates config file if missing