addresses #39 and #106