Bunch of changes, not finished yet. These changes reflect the 
ideas for release 2.