Closes #256
Closes #244
Closes #257