refactoring + loadMore function