without hole filling and additional iteration