changing propagate analysis to module analysis