go-lint compliant and more idiomatic. Thought still using linked-list :(