list fragment refactored