can one combine internal and protected? :D