add some comments, add a dyn_cast method.