Fill algorithm