@SuppressWarnings("unchecked")
	@Override
	public T deleteAt(int index) throws DAIndexOutOfBoundsException
	{
		T returner = null;
		
		if((index >= 0) && (index <= size - 1))
		{
			returner = (T)array[index];
			
			// starts at index and shifts every object down by 1		
			System.arraycopy(array, index + 1, array, index, size - index - 1);
					
			// sets the last item to null
			array[size - 1] = null;
			
			size--;
			
			packArray();	
		}
		else if((index < 0) || (index > size - 1))
		{
			throw new IndexOutOfBoundsException();
		}
		
		return returner;
	}