Incorporated all of Gareths suggestions