just about all read & write methods