object coercion, override valueOf and toString