     experience: {type: 'integer', title: 'Years of Experience', minimum: 0, description: 'How many years of professional experience (getting paid) developing software do you have?'}
     shortDescription: {type: 'string', maxLength: 140, title: 'Short Description', description: 'Who are you, and what are you looking for? 140 characters max.', default: 'Programmer seeking to build great software.'}
     longDescription: {type: 'string', maxLength: 600, title: 'Description', description: 'Describe yourself to potential employers. Keep it short and to the point. We recommend outlining the position that would most interest you. Tasteful markdown okay; 600 characters max.', format: 'markdown', default: '* I write great code.\n* You need great code?\n* Great!'}
-    visa: c.shortString {title: 'US Work Status', description: 'Are you authorized to work in the US, or do you need visa sponsorship? (If you live in Canada or Australia, mark authorized.)', enum: ['Authorized to work in the US', 'Need visa sponsorship'], default: 'Authorized to work in the US'}
+    visa: visa
     work: c.array {title: 'Work Experience', description: 'List your relevant work experience, most recent first.'},
       c.object {title: 'Job', description: 'Some work experience you had.', required: ['employer', 'role', 'duration']},
         employer: c.shortString {title: 'Employer', description: 'Name of your employer.'}

      workHistory: c.array {title: 'Work history', description: 'One or two places the candidate has worked', type: 'array'},
        title: 'Workplace'
        type: 'string'
      phoneScreenFilter:
        title: 'Phone screened'
        type: 'boolean'
        description: 'Whether the candidate has been phone screened.'
      schoolFilter:
        title: 'School'
        type: 'string'
        enum: ['Top School', 'Other']
      locationFilter:
        title: 'Location'
        type: 'string'
        enum: ['Bay Area', 'New York', 'Other US', 'International']
      roleFilter:
        title: 'Role'
        type: 'string'
        enum: ['Web Developer', 'Software Developer', 'Mobile Developer']
      seniorityFilter:
        title: 'Seniority'
        type: 'string'
        enum: ['College Student', 'Recent Grad', 'Junior', 'Senior']
      featured:
        title: 'Featured'
        type: 'boolean'


c.extendNamedProperties UserSchema  # let's have the name be the first property

#Put the various filters in variables for reusability
phoneScreenFilter =
  title: 'Phone screened'
  type: 'boolean'
  description: 'Whether the candidate has been phone screened.'
schoolFilter = 
  title: 'School'
  type: 'string'
  enum: ['Top School', 'Other']
locationFilter = 
  title: 'Location'
  type: 'string'
  enum: ['Bay Area', 'New York', 'Other US', 'International']
roleFilter = 
  title: 'Role'
  type: 'string'
  enum: ['Web Developer', 'Software Developer', 'Mobile Developer']
seniorityFilter = 
  title: 'Seniority'
  type: 'string'
  enum: ['College Student', 'Recent Grad', 'Junior', 'Senior']
visa = c.shortString
  title: 'US Work Status'
  description: 'Are you authorized to work in the US, or do you need visa sponsorship? (If you live in Canada or Australia, mark authorized.)'
  enum: ['Authorized to work in the US', 'Need visa sponsorship']
  default: 'Authorized to work in the US'
  
_.extend UserSchema.properties,
  email: c.shortString({title: 'Email', format: 'email'})
  firstName: c.shortString({title: 'First Name'})
