New src tree

This pull request includes the changes to the src tree I discussed.