fixed all comments except base class enhancment and interface-implementation pattern