Modified the data source and delegate of waterfall layout to make it easy to use