Use abstract class