fix a bug and add a new require