The corrrect place for Bounce Back

Hi all.

I have been working for some time with a code using LBM and my results have been more than satisfactory. However, a few days ago after being trying to introduce the momentum exchange method for the case of a flow around a cylinder, I noticed that I possibly have an error in the correct order where I place the Bounce Back in my code.
Specifically, the order that i use in the code is as follows:

1- Bounceback for obstacle and walls
2- Streaming
3- Inlet and Outlet Boundary Conditions
4.-Calculation of macroscopic variables
5- Collision (BGK)
6- ForceComputation
7- Data Output
8- Back to 1

I think that although for the tests that I have done, I have obtained good results (especially for Poiseuille and Couette flow), the order that I have in the process is not correct.

On the other hand, since I use a “full bounce back”, I understand that I should enter the bounce back only after the Streaming (or should also go in some other position?).

With this, the following question arises me, if I use the “half bounce back” where I would place it exactly?