fixed collision bounce behavior, hopefully bug-free now