why do we store the config separate? i think it's error prone