some initial work to make this work ok on mobile