Complex fishbouncing algorithm :D