Features/node interface

Best merge at the same time as #517.