provides compilation env