1. Supporting efficient propagate and gradient accumulation for backward functions. 2. Update the setData functions. 3. Clean the codes.