pass by value and reference