separating out critical variables analysis functionality!