added tests and services, using an associative array for coin providers