deal with procedure