refactoring: SO operators now work on dict copy