add graceful degradation with progressive enhancement blog