improve autosize