modify require
modify some methods
modify version