use correct type in childclass and dont depend on parent protected attribute with hinted interface