Typos, renaming and moving
throw exception when more/less data than columns
correctly walk through array