passing by reference