avoid memory leak
shorten some vars