I guess it's more a matter of "physics" than a matter of coding.

I'll try to dig out a document that explains it (if I find time to)