Made node its own class, and fixed some problems with having node as its own class