worked on list functions