separating skipped from end and adding interrupt API