add interface compile