added methods and merge from new Brach