add system-type check