Make SP initialization happen in the constructor
Testing and refactoring