First version, which still doesn't run but has a reservoir and a pipe classes
Merge origin/master