modified for different screen sizes