finished changing call model to by_ref; added copy on assign operator(:=)