Feature/update develop

This reverts back lost changes from merging in the refactor branch.

Probably a good idea to look this over and see if anything looks goofy.