refactor, use observer pattern to fetch and display branches