feature almost finished. add a listview is needed