added diagonal checks... trolol