refactored params into its own class