Closes #82 (closed), #81 (closed), #80 (closed), #83 (closed), #85 (closed), #96 (closed), #84 (closed) #87 (closed)