prefer references over values