list functions - implementation