refactored a lot of fields into the application model