Updates

- Use VirtualDirectory to simplify the code,
- Some Dart CC cleanup