implement reports (fixes issue #19)