Switched to a constructor based approach