Massive fill algorithm rewrite/shrink down,
better fill test,
improved input error handling