#3 add source analyse instead of load all the class