make guard into a full dependency
display compile errors
allow environment variable overrides
clean up documentation
refine options passing