put in a function and a procedure