making some progress on event listening