add id generator utility