SPFA Class in progress