Added the procedure functionality