branch works up and down levels