Moved the Token union into its own file