implemented deterministic wallet