eliminate side effects, fixed output shape