Documentation

Some much needed comments added