refactor config struct tag handling