Improve profile view; make list logic more generic