Refactored to provide different web browsers.