added gap and shift