add file node provider, + other changes (validation, remove setters from Node, etc.)