using a 2 stage require strategy

@darbyfrey