du1 and gl functions