header and source files base setup