public void remove(int key) {

		int level = 0;

		HashPrinter.tryRemove(key);

		int hash = (key % TABLE_INITIAL_SIZE);

		boolean found = false;

		if (table[hash] != null) {

			Node entry = table[hash];

			Node previousNode = null;

			do {

				previousNode = entry;

				if (entry != null && entry.getNext() != null) {

					entry = entry.getNext();

				}

				if (entry.getKey() == key) {

					found = true;

					level++;

					break;

				}

				level++;

			} while (entry != null && previousNode != entry);

			if (previousNode == entry) {

				level = 0;

				table[hash] = table[hash].getNext();

				HashPrinter.remotionSuccessful(key, hash, level);

			} else if (found) {

				previousNode.setNext(entry.getNext());

				HashPrinter.remotionSuccessful(key, hash, level);

			} else {

				HashPrinter.notFound(key);

			}

		}

	}