specify up and down functions