redone in LINQ and added finer grain of access.