completely removed on end event, now everything is done after data is received