preference list saving and loading