modify for go and so on.