documented a few functions