Refactored chain out