implement: using gaevents fixed