added interal.go