Initial design on base classes