ProgrammingForEveryone - only I'll try to work out the code using Go syntax