compatibility with dart m3