fix typos and refactor buy event