Better preference handling