use xyz based method