comments and atomic functions