Merge DavidHudlow/master to complexploygon for cleanup
Cleanup and work with non-prototype functions