Rework to use dart analyzer
retv support