refactor second