Some more details added
Cleaned up the code, cosmetic changes only