void deleteBond(Bond bond) {
		// what a disaster ... I hate doing this
		for (int i = bondCount; --i >= 0;) {
			if (bonds[i] == bond) {
				bonds[i].deleteAtomReferences();
				System.arraycopy(bonds, i + 1, bonds, i, bondCount - i - 1);
				--bondCount;
				bonds[bondCount] = null;
				return;
			}
		}
	}