end of public interface