module separation