add interface and client