add function documentation