Some move refactoring, added getValidPosForSize ... possibly a bad name since only three characters different from another
Completed unparse