Hallellujah - it was reading and running the return_coin method in my strong that I had put in to debug. So it was returning twice as many coins of each value as it should have