use limit of 0 to mean no limit