pulling hub out into its own class
pulling vault out into its own class