thinking about the public interface of usage