Refactoring the code: separate SFP-related code into SFP.h and SFP.cpp