guard set up to compile more efficiently