pass objects not by reference