added pure-mode