almost complete - need to do responsive styling