Refactored to put everything under the HydraNet:: namespace