adding self-assignment and incremental/decremental operators