use runtime type checking
Add diagnostics, raw packet processor