Renamed INode to Node
Changed type of Node from interface to abstract class
Updated docs
Fixed print of ELSE IF