changed @return to @retval for better clarity in documentation