finished bucket-fill algorithmls