Digging program design