added spf solver