softnode