wait for perfect