Note: there is another thread on a similar problem, but this question is more detailed and the answer mentioned in the post above is not satisfactory (elaborate