should be private or protected