both versions ++