Add golang implementation