add Procedure.execute for result; more stable procedure