(not so) fixed line fill algorithm