preference check improved