Added ID Generation Function