Added Dart implementation