only read config once