basic rules from doc