add some documentation, don't export signature interfaces