name refactorings

changed base classes names
program

base program code added