Refactored list adapter