Throwing Exceptions at top entry level & avoid throwing it in function that's intended to be private non accessible by end user to avoid confusion & get stack trace at the entry of the list