It's my first time using Go, so be careful, the code might be pretty bad!