made analysis compile more flexible