*/
	private int init(short n) {
		atom = new Atom[n];
		for (short i = 0; i < n; i++) {
			atom[i] = new Atom(nt);
			atom[i].setIndex(i);
			atom[i].setModel(this);
		}
		bondTable = new boolean[n][n];
		epsab = new float[n][n];
		sigab = new float[n][n];
		neighborList = new int[n * n / 2];
		pointer = new int[n];
		rx0 = new double[n];
		ry0 = new double[n];
		// i think we should not use CopyOnWriteArrayList as free electrons pop in and out too frequently
		freeElectrons = Collections.synchronizedList(new ArrayList<Electron>());
		return n;
	}