now with basic webapp framework