Added comments and tests
Updated nodeSpecification to use builderPattern