rename _list() to list_() to avoid confusing it with a non-public method