added restricted generating