updated for mobile browsers