re-commit... functioning version WITH attractor ArrayList