use spawn not exec