Feature2

please take a look at feature 2 branch