* refactoring: introduction of internal id