moving crud into its own package