First try at elastic collisions