pass by reference for some ops