implement list (closes #3)