correctly get preference data, close #30