adding some extras to handle virtual environments