add virtual env support