added restricted method logic