moved Link type definition to generic.go file