doesn't seem like mousemove is a viable option
rewrote algorithm for squares
commented on the thinking behind using diagonals
mostly because i suck at math, and i hope this explains it to those who suck too!