changing implementation to concrete nodes