language preference listener without implements