add require
verup
update optimize