add branch functionality