expand empty area algorithm