change naming to be more in the style of Effective Go