add preference model, collection, modify show view and user parse