simplified the coding and finished the order graph building
implemented graph searching
now for the hard part, actually building a package and handling errors