Closes #24 and #28