appear to have switched magicList to an array, and fixed lowestLeft to be able to start correctly when not being the first start by taking out the OR statement