add some web functions