add basic webapp functionality