wallet needs styling and unit testing, but basic functions work