moving code to a proper go build structure