cosmetic changes
more invariants, dart operator, s
implementation according to zorin presentations