Updated and added more documentation.