add comments on functions