edge cases delt with, out of bounds and occupied