added EnumDeviceType to help identify user's device