Refactor a little more

Also now passing all cases thrown at it, including a 12x12