Closes #14.
Closes #59.
Closes #61.
Closes #62.