add functions and revisions to ensure responsive design