better design of config