I'm having a bit of a problem. I"m simply trying to read active directory now with system.directoryservices. I have a LDAP path i think its called and i get the children and for each child i for each through and so on for like 5 for each loops. OK no problem. But i don't always read the same number of records with the same loops. i added a parameter that i was getting the value of off of every user in my print out and i jumped from like 1500 to 1800 records. so i got a user and i'm reading first name and last name, and when i go through again reading as well location, suddenly more records. i thought a read for a value didn't change a thing. it existed or not, if it existed you get it , if not you get empty string. certainly enough empty strings were printed out. But i read active directory caches. could this be it? how does that work? how to read and write without caching?