1) get rid of warning
2) support passive mode