add recommendation directive
add preference logic
correct watch for UM