Closes #80 (closed) #65 (closed) #86 (closed) #85 (closed) #95 (closed) #105 (closed) #94 (closed) #77 (closed)