refactoring and add fragments