pull out venv code and update docs