Changes made by James Cam (jamescam59@gmail.com).