Add some comments to make it clear how data flow works