Added comments and checkd for more Linq... there is more but sometimes it does not improve readibility