split up Date functionality into its own class
broke up features into their own classes
init
init