space filling algorithm