modeling preferences and playing with merge statement