* finish new design
* start implementing event handling