change signature to use always and when clauses
unset env is default, no longer exception case