added *experimental* interrupt thingies. slight cleanup