Solution runs faster...still could use some speeding up.