function should be private
add missing function documentation