implamented _protected scope hiding between constructors, all prototypes are inherited but only the past defined protected scrope will be passed