a bit more work on user events