rearranged some nodes, updated comments, removed parentheses from atomic predicates