* new approach with event handling
* housekeeping
* housekeeping