redo l1 and add shift