Add support for 1 -> I
Support non-corner cases
Support all cases