public Coordinates createShifted(Action.action a) {
		Coordinates dest = null;
		switch (a) {
			case WAIT:
				dest = new Coordinates(this);
				break;
			case NORTH:
				dest = new Coordinates(
					this.getX() - 1 < 0 
						? Util.DIM - 1 
						: this.getX() - 1,
						this.getY()
				);
				break;
			case SOUTH:
				dest = new Coordinates(
						this.getX() + 1 > Util.DIM - 1 
						? 0 
						: this.getX() + 1,
						this.getY()
				);
				break;
			case EAST:
				dest = new Coordinates(
						this.getX(),
						this.getY()+1 > Util.DIM-1
						? 0
					    : this.getY() + 1
					);
				break;
			case WEST:
				dest = new Coordinates(
						this.getX(),
						this.getY() - 1 < 0
						? Util.DIM - 1
						: this.getY() - 1
				);
				break;
		}
		return dest;
	}