kept the ASE version, but made a simpler XYZ