got rid of events
refactored