added notes
added functionality to avoid infinte recursion
added profile method to get back a dep tree
removing new lines, update syntax, adding notes