refactored class names and some schematic functions