added reassign function