use JSDoc style to comment functions