add v1 written in go