add support for saving preference on the server