broke IINField into it's own files