changed tree structure by allowing non-balanced trees. Changes on the code styling. Changed to a factory function (makeNode) instead of a constructor (Node)