(1) Optimized performance by using document fragments (2) Added a test case for multiple events (3) Added ability to pass in a numbers an input parameter