added advanced list function