Bodyposition not working

So I’m making a fish that uses bodyposition to “swim”. I’ve made another simpler fish that only has 2 parts in it (that are welded with weld constraints), which works perfectly. From what I know from making that fish is that bodyposition defies physics and just makes the object fly to the position its assigned to. I’ve done the exact same for this fish, except its seems to keep its physics anyway. I’m starting to think its because there’s more parts as well as those parts being connected with Motor3ds but I really don’t know. The other fish is also able to have cancollide set to false and still just float around, while this fish just drops to the abyss.

Sorry for this long post lol, I’m bad at explaining things