add public interface