1) add serveral comment
2) add ~{B,D,O,X} support