added wall bouncing