add id generator utility with unit tests