avoid handle conflicts with Z itself