refactors in many classes, new collision