Documentation and refactoring
Merge remote-tracking branch 'origin/1.7.3' into 1.7.3