collision system refactored