add option: limit; improve cover