add improved function documentation