add a webpy gui encapsulation