add rudimentary web frontend