Added getDataNode() method on interfaces, removed overall amount of code