understand pass by reference and value