add versioning to environment (closure too.)
check nullptr check to timemachine