Rewrote collision and bouncing logic. Simpler and better now.