a little refactoring; collisions & interactions with events now possible :)