refactor event view