program scope revised