use impression gem to count view, fix order option bugs