added some comments to the lib, moved stuff to private, cause it's not stuff called from outside of the lib