Some improvements; to be continuated