added loader base class and main loader;