Adding all code from protea
Merge branch 'master' of github.com:adammwilson/protea