implement list feature