added diagonal moves