Fix bugs: require and private invocation