run only one recall fun; simpler, consistent