fails gracefully on mobile