progress, but heavy going on event logic