added identifiers and basic node type system