add limit as collection function, with corresponding test