owner implementation