Refactor Supply

Almost fixed #81
gapShift()