no need to copy on contains