avoid often memory alocation&release