modified to split system-type