Not running great, very messy, but adding the three method comments has given me some insight as to what has gone wrong.