some optimize and version change