splr big refactoring