first complete comment function