Added go implementation