refactored base fields into class variable to make easier to extend and add new fields