add interface for golang