Should we take a pointer instead of a copy here?