module Nexus

import Base:
show, ==, empty!, getindex, setindex!, length, iterate, rand, eltype, 
firstindex, lastindex, isempty, keys
using Dictionaries
using StatsBase
using DataStructures

include("graph.jl")
include("arc.jl")
include("node.jl")
include("path.jl")
include("show.jl")

export Graph, nn, na, fadj, badj,
add_arc!, rem_arc!, add_arcs_from!, rem_arcs_from!,
add_node!, rem_node!, add_nodes_from!, rem_nodes_from!, # graph.jl
Arc, source, target, key, has_arc, ArcIter, arcs, has_attrib, # arc. jl
Path, nodelist, keylist, 
depth_first_search, dijkstra_shortest_path, # path.jl
nodes, in_neighbor, out_neighbor, has_node # node.jl

end
