re-implemented recover seed