wider scope and better output