Now with diagonals!

Code review && potential merge?! :D