updates to handle different screen sizes