2.0

Ready merge branch1 and branch2.