use source code instead of depenency