system type detection