added reassignment operators