public void put(int key, int value) {

		HashPrinter.tryPut(key, value);

		/** Index that moves through array slots */
		int runner = 0;

		int hash = (key % TABLE_INITIAL_SIZE);

		if (table[hash] == null) {

			table[hash] = new Node(key, value);

			HashPrinter.successfulInsertion(key, hash);

		} else {
			/** Collision */

			Node entry = table[hash];

			while (entry != null && runner < TABLE_INITIAL_SIZE) {

				HashPrinter.collisionMessage(hash);

				runner++;
				hash = ((key + runner) % TABLE_INITIAL_SIZE);
				entry = table[hash];

				HashPrinter.movingNextSlotByLinear(hash);

			}

			if (runner == TABLE_INITIAL_SIZE) {

				HashPrinter.arrayFull(key, value);

			} else {

				HashPrinter.successfulInsertion(key, hash);

				table[hash] = new Node(key, value);

			}

		}
	}