revamping config system