imported preference manager, still need to update