bump version to v3.0.0.rc1
Reorder constructor to avoid referencing uninitialized variable when environment contains a self-referencing proc