use inclusive ranges for D