improved parse/convert