added up and down
factored out stop method