First commit- base classes