struct changed, up the performance