Made default constructor protected for the abstract class