list adapter improvement