trying to understand dart :(