updating wallet, it compiles and is fully implemented but not tested