Separate logic.