modified SPA