add interface function