Merge in Develop

Merging in commit from birryree's fork that closes issue 20, closes issue 21, and closes issue 22.