implemented confusion