UPDATE: minor code tweaks, language, report