bug fix: construct value type, and pass to node
move argument