refactors coin changer more