working events
much refactor wow