Complete implementation.