object attribute functions improved