Finished Go port