do not create unnecessary copies of lists