make limit optional