don't free pointers if there aren't active impropers, torsions, etc.
Merge free changes