full explanation