add Branch.java and Writer.java