Huge update, implement RPC