public Object remove(int index) {
		if (index >= size) {
			return null;
		}
		Node requestedIndex = null;
		
		if (index == 0) {
			requestedIndex = head;
			head = head.next;
			if (tail == requestedIndex) {
				tail = null;
			}
			size--;
			return requestedIndex.data;
		} else {
			Node cursor = head;
			index--;
			int count = 0;
			
			while (count < index) {
				cursor = cursor.next;
				count++;
			}
			requestedIndex = cursor.next;
			cursor.next = requestedIndex.next;
			if (cursor.next == null) {
				tail = cursor;
			}
			size--;
			return requestedIndex.data;
		}
		
	}