Closes #33 (closed), #90 (closed), #16 (closed), #22 (closed), #28 (closed), #20 (closed), #19 (closed), #89 (closed), #94 (closed), #88 (closed), #91 (closed)