Refactored separation