make node protected and offer getter