add isMobile function