Refactor to make messages more clear and fix bugs

Closes #6
Closes #7
Note minimum Go version

Closes #5