should pass by pointer to assign new value