Added golang implementation