first working build with full interrupt based implementation