Final Code - 04-11-2014