abstract branches