Committing refactored code, details will be sent by email to relevant parties.