refactored go method.