simplified the id generation