Closes #215
Closes #214
Closes #213
Closes #211
Closes #210
Closes #212