completed decription of routines