implemented web functions