assign value type, not pointer