Closes #5 (closed) #4 (closed) #26 #25 (closed) #23 (closed) #19 (closed) #17 (closed) #8 (closed) #10 (closed) #11 (closed) #15 (closed)