basic source base class