preliminary mobile detection (probably really broken)