Separate venvs

wip
might be worth a comment that this only supports a flat top-level file structure