Add abstract class for abstraction purposes