refactor user report method