Modified and added some documentation