modeling downcast explicit