call by reference instead of call by value