refactor, board, event listener