move ace into its own module