allow empty cycle