events api implemented