Addresses #125, 109, and #107