Added some documentation, changed the Edge constructor to not require a weight to be passed in