Ok - so here is another type of "Best Practice" type question about orgainising code - but I have often wondered what are the main benefits of having lots of projects compiling under one solution - I understand it helps to encourage reuseability, ie. you can include refs to dlls in different projects and resuse the goodness that lies within - but how do you know when you should compartmentalise a load of code into a dll, I take it, its only useful in very large projects, and the code within is very generic????