make quota more generic