it seems like there are a LOT of public methods on this. Can some of them be tucked away to make the public interface a little less daunting?