Addresses #85 & #84
Addresses #63
Addresses #81
Addresses #86
Addresses #83
Addresses #70
Addresses #72