Refactored ready for saving