Update: use malloc