Added lots of documentation
Added Graph class