added mobile detection