separate each type module