implemented uuid generator