Abstract classes and methods for future updates