SMPP refactoring