dart drivers done; some refactoring