document a few functions