functional web ui