implement image prefs using function pointers, for efficiency