Refactored the lot!