add coinchange, still need to modify it for general use