faster (but heavier) resize