fix several bugs about requirement