semi-functional bouncing