refactoring, and restyling