some optimisations in interrupt management =)