How the Sovereign SDK works