bug fix : struct alloc