added a new function list()