rewrited getIdentifier() to make id generation dynamic