valueOf added but why needed