Complete implementation with report