Changed to use list of hashes
Aligned
Changed to use fields
Tidied