webapp functionality complete