Refactoring, removal of many suppress warnings.