moved operations from parse() to Node constructors