why execution gaps exist