final code without report