# Updated constructor to be protected in abstract class