detect system type