Documentation for public interface

@kprofic please take a look and consider merge afterwards, thanks!