refactor postConstruct