Golang abstraction

Return to abstraction