GO functions, all tests now pass