add maxlvl limit