redo and refactor