Make node class and add tests