adding Strategy Pattern for Nodes