code refactoring (1.0) FM
Merge remote-tracking branch 'origin'