completed responsive version