some cleanup, added skeleton for directedevents