again no need for self varible