add require optimize compile