only one thread to save memory for harder ones