divide call_and_defun into call and defun