Replace while loop with recursive method
Use discount collection class