function call reference working