moved the main oliver method into its own file