adapted for web