nodes refactored