added private function to execute_procs