implemented assignment methods