MAJOR rewrite using the FCL-Web framework