proper event piping