intial go implementation