an adaptation of Ureport