new number generation mechanism